package com.hn.zhijian.system.rsasdk;


import org.apache.tomcat.util.codec.binary.Base64;
import org.apache.tomcat.util.codec.binary.StringUtils;

/**
 * BASE64编码工具类
 *
 * @date 2020年6月21日
 * @version 0.0.1
 *
 */
public class Base64Utils {
	/**
	 * 构造方法
	 */
	private Base64Utils() {
		super();
	}

	/**
	 * BASE64 编码.
	 * 
	 * @param str
	 *            字符
	 * @return byte[]
	 */
	public static byte[] encode(String str) {
		return encode(str.getBytes());
	}

	/**
	 * BASE64 编码.
	 * 
	 * @param bytes
	 *            字节码
	 * @return byte[]
	 */
	public static byte[] encode(byte[] bytes) {
		Base64 encoder = new Base64();
		return encoder.encode(bytes);
	}

	/**
	 * BASE64 解码(to byte[]).
	 * 
	 * @param str
	 *            字符
	 * @return String 字符
	 */
	public static byte[] decode(String str) {
		Base64 decoder = new Base64();
		return decoder.decode(StringUtils.getBytesUtf8(str));
	}

	/**
	 * BASE64 解码(to byte[]).
	 * 
	 * @param bytes
	 *            字节码
	 * @return byte[] 字节码
	 */
	public static byte[] decode(byte[] bytes) {
		Base64 decoder = new Base64();
		return decoder.decode(bytes);
	}
}
